package com.study.controller;

import com.study.entity.LicenceEntity;
import com.study.service.LicenceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletResponse;
import java.util.UUID;

/**
 * @author CSDN 流放深圳
 * @description 控制层
 * @create 2024-04-13 15:55
 * @since 1.0.0
 */
@RestController
@RequestMapping("/server/licence")
public class ServerController {

    @Autowired
    private LicenceService licenceService;

    /**
     * 下载证书文件
     * 实际项目可以根据前端传递的参数来创建证书字段属性。这里为了测试，直接写测试数据
     * @param response
     */
    @PostMapping("/downLoadLicence")
    public void downLoadLicence(HttpServletResponse response){
        LicenceEntity dtoEntity = createEntity();
        licenceService.downLoadLicence(dtoEntity, response);
    }

    /**
     * 创建测试实体
     * @return
     */
    private LicenceEntity createEntity(){
        LicenceEntity entity = new LicenceEntity();
        entity.setLicenceId(UUID.randomUUID().toString().replaceAll("-", ""));//证书 ID
        entity.setLicenceName("我的 Licence 证书");//证书名称
        entity.setMac("");//客户端机器的网卡物理地址，要么留空，要么输入客户端的 Mac 地址
        entity.setEffectStartDate("2024-04-13");//证书生效开始日期，格式：yyyy-MM-dd
        entity.setEffectEndDate("2025-04-13");//证书生效结束日期，格式：yyyy-MM-dd
        entity.setContactName("CSDN 流放深圳");//联系人
        entity.setContactWay("https://blog.csdn.net/BiandanLoveyou");//联系方式
        entity.setOwner("CSDN 流放深圳");//证书所有者
        return entity;
    }

}
